package org.codefx.libfx.collection.tree.navigate; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.control.TextArea; import org.codefx.tarkastus.JavaFXRule; import org.junit.Rule; /** * Tests {@link SceneGraphNavigator}. */ public class SceneGraphNavigatorTest extends AbstractTreeNavigatorTest<Node> { /** * Runs all tests in the JavaFX platform thread. */ @Rule public JavaFXRule javaFXRule = new JavaFXRule(); @Override protected TreeNavigator<Node> createNavigator() { return new SceneGraphNavigator(); } @Override protected Node createSingletonNode() { return new TextArea("A node without parents and children."); } @Override protected Node createNodeWithChildren(int nrOfChildren) { Group parent = new Group(); for (int i = 0; i < nrOfChildren; i++) parent.getChildren().add(new TextArea("Child #" + nrOfChildren)); return parent; } @Override protected Node getChildOfParent(Node parent, int childIndex) { return ((Group) parent).getChildren().get(childIndex); } }